<?php
sleep(0.5);
// Функция генерации капчи
function generate_code() 
{    
    $c_num1 = rand(1, 99); // Первое число
    $c_num2 = rand(1, 99); // Второе число
    $c_sum = $c_num1 + $c_num2; // Сумма этих чисел (0)
    $c_sub = $c_num1 - $c_num2; // Сумма этих чисел (1)
    $c_mul = $c_num1 * $c_num2; // Сумма этих чисел (2)
    $c_do = rand(1, 3); // Номер действия
    $c_do_char = '/';
    $c_answer = '0';
    switch($c_do)
    {
        case 1: $c_answer = $c_sum; $c_do_char = '+'; break;
        case 2: $c_answer = $c_sub; $c_do_char = '-'; break;
        case 3: $c_answer = $c_mul; $c_do_char = '*'; break;
        default: $c_answer = 0; break;
    }
    $array_mix = $c_num1.' '.$c_do_char.' '.$c_num2.' '.$c_answer;
    return $array_mix;
}
function img_code($code)
{
    // Отправляем браузеру Header'ы
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                   
    header("Last-Modified: " . gmdate("D, d M Y H:i:s", 10000) . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");         
    header("Cache-Control: post-check=0, pre-check=0", false);           
    header("Pragma: no-cache");                                           
    header("Content-Type:image/png");
    $img_arr = '.png';
    $font_arr[] = "Sony_Sketch_Bold_205.ttf"; // 0
    $font_arr[] = "Capture it 2.ttf";         // 1
    $font_arr[] = "ZOMBIFIED.ttf";            // 2
    $font_arr[] = "Arial Rounded Mt Bold.ttf";// 3
    $font_arr[] = "BUBBLEBO.TTF";             // 4
    $font_arr[] = "Punk_s_not_dead.ttf";      // 5
    $font_arr[] = "Everyday_Ghost.ttf";       // 6
    $font_arr[] = "disco_divaaaaaaaa.ttf";    // 7
    $font_arr[] = "cuomotype.ttf";          // 8
    $n = rand(0, sizeof($font_arr)-1);
    $img_fn = rand(1,3).$img_arr;
    $im = imagecreatefrompng(img_dir . $img_fn); 
    $color = imagecolorallocate($im, rand(0, 128), 0, rand(0, 128));            
    $x = rand(36, 42);
    for($i = 0; $i < strlen($code); $i++) {
        $x+=23;
        imagettftext($im, rand(28, 32), rand(2, 4), $x, rand(50, 55), $color, img_dir.$font_arr[8], $code[$i]);
    }
    ImagePNG($im);
    ImageDestroy($im);
}

define ( 'DOCUMENT_ROOT', dirname ( __FILE__ ) );
define("img_dir", DOCUMENT_ROOT."/data/captcha/");
$captcha = generate_code();

session_start();
if (isset($_SESSION)) {
    $c_answer = explode(' ', $captcha);
    $_SESSION['answer'] = $c_answer[3];
    $captcha = trim(str_replace($c_answer[3], '', $captcha));
}

img_code($captcha) // Выводим изображение
?>
